package uno.linze.interview_question.service;

import jakarta.validation.Valid;
import uno.linze.interview_question.domain.Question;
import com.baomidou.mybatisplus.extension.service.IService;
import uno.linze.interview_question.dto.PagedResponse;
import uno.linze.interview_question.dto.QuestionDTO;

/**
* @author wangy
* @description 针对表【question(面试问题/题目主表)】的数据库操作Service
* @createDate 2025-09-27 12:57:25
*/
public interface QuestionService extends IService<Question> {

    PagedResponse<QuestionDTO> queryQuestions(Integer page, Integer size, Integer categoryId, Integer difficulty, Integer tagId, String keyword);

    QuestionDTO getQuestionById(Integer id);

    QuestionDTO createQuestion(@Valid QuestionDTO question);

    QuestionDTO updateQuestion(Integer id, @Valid QuestionDTO question);
}
